home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 October
/
EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso
/
Aminet
/
biz
/
demo
/
organize.lha
/
OrganiserInstall
/
Install Organiser
next >
Wrap
Text File
|
1995-05-05
|
36KB
|
1,379 lines
; $VER: Digita Organiser Installer Script 7/4/95
; By Mark Jackson
; English Language
;
; Works for Full version
; This section contains the Text strings for translation and
; appending to the code
;
; Copyright (C) Digita International
;------------------------------------------------------
; ### Variable declarations
(set #ProgName "Organiser")
(set #NumberInstallDisks 1)
(set #InstallDisk "OrganiserInstall")
(set #NumNewDisks 2)
(set #MainDisk "Organiser")
(set #FilesDisk "OrganiserExtras")
(set #RamTempFile "RAM:OrgTemp")
(set #RamUtils "RAM:OrgUtils")
(set #HDSpaceNeededBytes (* (* 1 1024) 1024)) ;1MB free
(set #ToolDest (cat #MainDisk ":Organiser"))
(set #DriverDest "DEVS:Printers")
(set #ThemeDefaultTool "Organiser")
(set #OrgToolDest (cat #MainDisk ":" #ProgName))
(set #HelpTool "HELPFILE")
;------------------------------------------------------
; ### String declaration
;// Drawer names
(set #DrawerName "Organiser")
(set #FilesName "Files")
(set #SuppStorageName "Supplements Storage 95")
(set #SupplementsName "Supplements")
(set #ThemesName "Diary Themes 95")
(set #TemplatesName "Templates")
(set #CatalogsName "Catalogs")
(set #FontsName "Fonts")
(set #LibsDefault "Libs")
(set #SamplesName "Sound Samples")
;------------------------------------------------------
;// Archive Names
(set #ASLArchiveName "asl.lha")
(set #CommoditiesArchiveName "commodities.lha")
(set #AmigaGuideArchiveName "Amigaguide.lha")
(set #DiskfontArchiveName "Diskfont.lha")
(set #ProgArchiveName "Organiser.lha")
(set #CatalogsArchiveName "Catalogs.lha")
(set #SuppStorageArchiveName "Supp_Storage.lha")
(set #SupplementsArchiveName "Supplements.lha")
(set #ThemesArchiveName "Themes.lha")
(set #FilesArchiveName "Files.lha")
(set #TemplatesArchiveName "Templates.lha")
(set #SystemFontsArchiveName "Fonts.lha")
(set #StartupArchiveName "startup.lha")
(set #DevicesArchiveName "Devices.lha")
(set #Env-ArchiveArchiveName "Env-Archive.lha")
(set #HelpArchiveName "Help.lha")
(set #PrinterArchiveName "Printer.lha")
(set #SoundArchiveName "Sound.lha")
(set #HarpArchiveName "Harp.lha")
(set #DrawerInfoArchiveName "DrawerInfo.lha")
(set #ProgramInfoArchiveName "ProgramInfo.lha")
(set #HDInfoArchiveName "HDInfo.lha")
(set #Disk1InfoArchiveName "Disk1Info.lha")
(set #Disk2InfoArchiveName "Disk2Info.lha")
(set #OtherPrefsArchiveName "OtherPrefs.lha")
(set #AddMonitorArchiveName "AddMonitor.lha")
;------------------------------------------------------
;// File Names
(set #LibsSource (cat #InstallDisk ":libs"))
;------------------------------------------------------
;// Message strings
(set #BadKick
(cat #ProgName " requires Workbench 2.04 or above to work correctly.")
)
(set #CheckStartup
(cat "\n\n\nPlease wait...\n\nThe installer is just checking your system.")
)
(set #DestChoicePrompt
(cat "\n\n\nWhere would you like to install " #ProgName "?")
)
(set #FloppyChoiceMsg
(cat "On floppy disks")
)
(set #HardDiskChoiceMsg
(cat "On a hard disk")
)
(set #DestChoiceHelp
(cat "\nSelect the radio button \"On a hard disk\" to "
"install " #ProgName " onto your hard disk.\n\n"
"Select the radio button \"On floppy disks\" to "
"install " #ProgName " onto a set of backup disks.\n\n\n"
)
)
(set #HardDiskDestChoiceMsg
(cat "Where do you want to install the\n" #DrawerName " drawer?")
)
(set #HardDiskDestChoiceHelp
(cat "Select the drawer where you want to install " #ProgName
", then click Proceed (a new drawer titled \"" #DrawerName
"\" will be created and will contain the " #ProgName " program.)"
)
)
(Set #HDBootedFromFloppy
(cat "It appears you are installing to Hard-disk, but booted from the " #InstallDisk
" Floppy-disk, this will not work.\n\nPlease reset your Amiga with no floppy-disks "
"inserted so it boots from the hard-disk, then try installing " #ProgName " again."
)
)
(set #NoDiskSpaceMsg1
(cat "\nThere is insufficient available space on your hard disk to install "
#ProgName ". You will need a minimum of "
)
)
(set #NoDiskSpaceMsg2
(cat "MB of free disk space.\n\nEither click \"Abort Install\" to exit this "
"installation and delete some files from your hard disk, or click \"Proceed\" and try a "
"different partition."
)
)
(set #DrawerExistsMsg
(cat "\nA drawer titled \"" #DrawerName "\" already exists in "
"the destination you have chosen.\n\nDo you wish to replace it "
"or choose a new destination?\n\n"
)
)
(set #DrawerExistsChoice1 "Replace it")
(set #DrawerExistsChoice2 "Choose new destination")
(set #DrawerExistsHelp
(cat "\nYou have chosen a destination drawer which already has \""
#DrawerName "\" installed there.\n\nClick \""
#DrawerExistsChoice1 "\" to replace the contents with this new version "
"of " #ProgName ".\nClick \"" #DrawerExistsChoice2 "\" to choose a "
"new destination drawer.\n\n"
"If you choose \"" #DrawerExistsChoice1 "\" then please make sure you "
"have back up copies of any documents you wish to keep."
)
)
(set #InstallChoice1 "Yes - Replace it")
(set #InstallChoice2 "No")
(set #OldASLLibraryMsg
(cat "You either do not have an ASL library, or it is the wrong version. "
#ProgName " requires you have at least version 36 of this "
"library. Do you want to copy version 38 of the ASL library?"
)
)
(set #OldASLLibraryHelp
(cat #ProgName " will not work properly unless you have at least version 36 "
"of the ASL library (Workbench 2.0 or above).\n\n"
"Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
"and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
"ASL library version 38."
)
)
(set #OldCommoditiesLibraryMsg
(cat "You either do not have an Commodities library, or it is the wrong version. "
#ProgName " requires you have at least version 37 of this "
"library. Do you want to copy version 38 of the Commodities library?"
)
)
(set #OldCommoditiesLibraryHelp
(cat #ProgName " will not work properly unless you have at least version 37 "
"of the Commodities library (Workbench 2.0 or above).\n\n"
"Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
"and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
"Commodities library version 38."
)
)
(set #OldDiskFontLibraryMsg
(cat "You either do not have an DiskFont library, or it is the wrong version. "
#ProgName " requires you have at least version 36 of this "
"library. Do you want to copy version 38 of the DiskFont library?"
)
)
(set #OldDiskFontLibraryHelp
(cat #ProgName " will not work properly unless you have at least version 36 "
"of the DiskFont library (Workbench 2.0 or above).\n\n"
"Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
"and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
"DiskFont library version 38 and quit this installer."
)
)
(set #OldAmigaGuideLibraryMsg
(cat "You either do not have an AmigaGuide library, or it is the wrong version. "
#ProgName " requires you have at least version 34.11 of this "
"library. Do you want to copy version 34.11 of the AmigaGuide library?"
)
)
(set #OldAmigaGuideLibraryHelp
(cat #ProgName " will not work properly unless you have at least version 34.11 "
"of the AmigaGuide library.\n\n"
"Choose \"" #InstallChoice1 "\" to copy version 34.11 of the library "
"and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
"AmigaGuide library version 34.11."
)
)
(set #OldLocaleLibraryMsg
(cat "You either do not have an Locale library, or it is the wrong version. "
#ProgName " requires you have at least version 38 of this "
"library. Do you want to copy version 38 of the Locale library?"
)
)
(set #OldLocaleLibraryHelp
(cat #ProgName " will not work properly unless you have at least version 38 "
"of the Locale library (Workbench 2.1 or above).\n\n"
"Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
"and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
"Locale library version 38."
)
)
(set #OldParseLibraryMsg
(cat "You either do not have an IffParse library, or it is the wrong version. "
#ProgName " requires you have at least version 33 of this "
"library. Do you want to copy version 34 of the IffParse library?"
)
)
(set #OldParseLibraryHelp
(cat #ProgName " will not work properly unless you have at least version 33 "
"of the IffParse library (Workbench 1.2 or above).\n\n"
"Choose \"" #InstallChoice1 "\" to copy version 34 of the library "
"and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
"IffParse library version 34."
)
)
(set #InsertDiskMsg
(cat "\nPlease insert the disk labelled\n\n")
)
(set #diskhelp
(cat "\nIf you know that the correct disk is in the drive, but you still cannot proceed, "
"then the name of the disk is incorrect.\n"
"Ensure that the disk name is not preceded by 'copy_of_', or blank spaces before or after the disk name.\n\n\n" @askdisk-help
)
)
(set #Unpackmsg1 "Unarchiving ")
(set #Unpackmsg2 " to ")
(set #Unpackmsg3 "\n\nPlease wait...")
(set #ArchiveAbortMsg1
(cat "There was a problem when trying to dearchive '")
)
(set #ArchiveAbortMsg2
(cat "'. Please try installing to a different drawer or partition, "
"or contact Digita Technical Support."
)
)
(set #BlankDiskWarning
(cat "\nPlease insert a 'blank' disk in the internal\n"
"disk drive and click \"Proceed\" when ready."
"\n\nWARNING: This procedure will destroy all information "
"that may already be on the disk."
)
)
(set #FloppyWarningHelp
(cat "\nThis procedure uses the 'format' command to "
"wipe and prepare the disk in the internal disk drive "
"for use with Organiser."
"\n\nWrite-protect your master disks before making "
"backup copies and place the masters in a safe place."
"\n\nYou should also write-protect your backup disks "
"before clicking the \"Proceed\" button."
)
)
(set #NotBlankMsg1
(cat "\nYou have the \"")
)
(set #NotBlankMsg2
(cat "\" disk in your internal disk drive.\n\nPlease "
"replace this disk with a blank one, before "
"clicking the \"Proceed\" button."
)
)
(set #FormatWorkingMsg
(cat "Please wait... Formatting a disk.")
)
(set #FormatError
(cat "\nAn error occured when trying to format this disk.\n\n"
"Please ensure that the disk is in the disk drive "
"before you click the \"Proceed\" button or "
"put another disk in the drive and try again."
)
)
(set #FormatErrorHelp
(cat "\nAn error has occured during the formatting of "
"your disk. This could be for many reasons, but more "
"commonly, either the disk was corrupt or the drive was "
"faulty.\nPlease try a different disk, check the drive "
"and then if the problem persists, contact the Technical "
"Support Department. Information on how to get Support is "
"explained in the manual."
)
)
(set #FormatCompleteMsg1
(cat " created.\n\nPlease take out the disk "
"in the internal disk drive and label it \""
)
)
(set #FormatCompleteMsg2
(cat "\", then click the \"Proceed\" button.")
)
(set #FormatChoiceprompt
(cat "\n" #ProgName " needs to format and name two disks during installation. "
"For more information click 'Help'. Do you wish to:"
))
(set #FormatChoicemsg1 "Slow Format Some Blank Disks")
(set #FormatChoicemsg2 "Quick Format Some Blank Disks")
(set #FormatChoice-Help
(cat "This installation utility needs to prepare two disks before installing "
#ProgName ". Before each disk is created, it will be formatted and named. "
"\n\nChoose '" #FormatChoicemsg1 "' if you wish to perform a full format, or \nchoose "
"'" #FormatChoicemsg2 "' to perform a quick format on disks that must have been "
"previously formatted as Fast File System disks."
))
(set #FloppyFinishedMsg
(cat "\nAfter clicking the 'Proceed' button, place the \"" #MainDisk
"\" disk in the internal disk drive and reset your Amiga.\n"
)
)
(set #WorkingMsg (cat "Please wait...\n\nInstalling " #ProgName))
(set #CreateDiskPrompt "\n\nDo you want to create the '")
(set #ChoiceContinue "Yes")
(set #ChoiceSkip "Skip this part")
(set #CreateDiskHelp
(cat "\nThe '" #MainDisk "' disk contains all of the "
#ProgName " program files. \n\nIf you would like to create a "
#MainDisk " disk then click '" #ChoiceContinue "'.\nIf you do "
"not want to create this disk the click '" #ChoiceSkip "'."
)
)
(set #CreateFilesDiskHelp
(cat "\nThe '" #FilesDisk "' disk contains the Supplements, Diary themes "
"and Templates. \n\nIf you would like to create a "
#FilesDisk " disk then click '" #ChoiceContinue "'.\nIf you do "
"not want to create this disk the click '" #ChoiceSkip "'."
)
)
(set #AskLocaleCmd "Assign >NIL: LOCALE: SYS:Locale")
(set #AskLocaleMsg
(cat "It appears Locale is not set up correctly on your hard-disk, " #ProgName
" requires this to function properly.\n\n"
"An assign needs to be added to your `User-Startup' "
"script:\n\n`" #AskLocaleCmd "'\n\nClick Proceed to continue."
)
)
(set #AskLocaleHelp
(cat "For the Date and Time functions to work properly, " #ProgName " Requires "
"Locale to be set up correctly on your hard-disk, part of this involves "
"adding a LOCALE assign to your User-Startup script.\n\nClick "
"Proceed if you want the installer to do this automatically, or "
"click `Skip This Part' to not modify the User-Startup."
)
)
(set #PrinterChoicePrompt
(cat "\n\nDo you wish to install a printer driver?"
)
)
(set #PrinterChoicemsg1 "Yes")
(set #PrinterChoicemsg2 "No")
(set #PrinterChoice-Help
(cat "To print from Organiser you need to have the correct printer driver selected for your "
"printer.\nClick the '" #PrinterChoicemsg1 "' button if you wish to install a printer "
"driver, or the '" #PrinterChoicemsg2 "' button if you do not want to install a printer "
"driver."
)
)
;------------------------------------------------------
; ### Procedure declarations
;------------------------------------------------------
;// routine to get disk specified in '#FileSourceDisk'
(procedure @GetDisk
(
(askdisk
(prompt #InsertDiskMsg #FileSourceDisk)
(help #diskhelp)
(dest #FileSourceDisk)
)
)
)
;------------------------------------------------------
;// Procedure to decompress file set in '#UnpackFile' to '#UnpackDest'
(procedure @UnpackFiles
(
(working #Unpackmsg1 #UnpackFile #Unpackmsg2 #UnpackDest #Unpackmsg3)
(set ExpandName #UnpackFile)
(set #ArchiveError 0)
(set RunLhx
(cat "OrgUtils:Lhx -I -m e \"" ExpandName "\" \"" #UnpackDest "\"")
)
(set #ArchiveError (run RunLhx))
(if (> #ArchiveError 0)
(
(set #ArchiveAbortMsg (cat #ArchiveAbortMsg1 ExpandName #ArchiveAbortMsg2))
(abort #ArchiveAbortMsg)
)
)
)
)
;------------------------------------------------------
;// Initial Checks
(procedure @InitialChecks
(
;// Check OS version
(working #CheckStartup)
(set #OSVerNum (getversion))
(set #OSVersion (/ #OSVerNum 65536))
(if (< #OSVersion 37)
(abort #BadKick)
)
;// Create temp file in ram: for files
(if (not (exists #RamTempFile))
(
(makedir #RamTempFile (safe))
)
)
(makeassign "OrgTemp" #RamTempFile (safe))
;// Create temp file in ram: for utils
(if (not (exists #RamUtils))
(
(makedir #RamUtils (safe))
)
)
(makeassign "OrgUtils" #RamUtils (safe))
;// Set flag if novice user
(set #UserNovice 0)
(if (= @user-level 0)
(
(set #UserNovice 1)
)
)
(copyfiles
(source (cat #InstallDisk ":Utils"))
(dest "OrgUtils:")
(all)
(nogauge)
(optional "nofail")
)
;// don't copy delete to OrgUtils, as it is used to delete OrgUtils!
(copyfiles
(source (cat #InstallDisk ":Utils"))
(dest "Ram:")
(pattern "delete")
(nogauge)
(optional "nofail")
)
)
)
;------------------------------------------------------
;// Check that ASL library is at least v36 (if not replace)
(procedure @CheckASL
(
(set ASLVerNum (getversion (cat #LibsDefault ":ASL.library")))
(set ASLVer (/ ASLVerNum 65536))
(if (< ASLVer 36)
(
(if (= @user-level 2)
(
(set InstallASLLibrary
(askbool
(prompt #OldASLLibraryMsg)
(choices #InstallChoice1 #InstallChoice2)
(help #OldASLLibraryHelp)
(default 1)
)
)
(if (= InstallASLLibrary 1)
(
(@InstallASL)
)
)
)
(
(@InstallASL)
)
)
)
) ;endif
)
)
;------------------------------------------------------
;// Procedure to install the asl library
(procedure @InstallASL
(
(set #UnpackFile (cat #ArchiveLocation #ASLArchiveName))
(set #UnpackDest #LibsDest)
(if (exists (cat #UnpackDest "asl.library"))
(delete (cat #UnpackDest "asl.library")
(optional "force")
)
)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Check that Locale library is at least v38 (if not replace)
(procedure @CheckLocale
(
(set LocaleVerNum (getversion (cat #LibsDefault ":Locale.library")))
(set LocaleVer (/ LocaleVerNum 65536))
(if (< LocaleVer 38)
(
(if (= @user-level 2)
(
(set InstallLocaleLibrary
(askbool
(prompt #OldLocaleLibraryMsg)
(choices #InstallChoice1 #InstallChoice2)
(help #OldLocaleLibraryHelp)
(default 1)
)
)
(if (= InstallLocaleLibrary 1)
(
(@InstallLocale)
)
)
)
(
(@InstallLocale)
)
)
)
) ;endif
)
)
;------------------------------------------------------
;// Procedure to install the locale library
(procedure @InstallLocale
(
(if (exists (cat #LibsDefault ":locale.library"))
(
(delete (cat #LibsDefault ":locale.library")
(optional "force")
)
)
)
(copyfiles
(source #LibsSource)
(dest (cat #LibsDefault ":"))
(pattern "locale.library")
(optional "force")
)
)
)
;------------------------------------------------------
;// Check that IFFParse library is at least v33 (if not replace)
(procedure @CheckParse
(
(set ParseVerNum (getversion (cat #LibsDefault ":iffparse.library")))
(set ParseVer (/ ParseVerNum 65536))
(if (< ParseVer 33)
(
(if (= @user-level 2)
(
(set InstallParseLibrary
(askbool
(prompt #OldParseLibraryMsg)
(choices #InstallChoice1 #InstallChoice2)
(help #OldParseLibraryHelp)
(default 1)
)
)
(if (= InstallParseLibrary 1)
(
(@InstallParse)
)
)
)
(
(@InstallParse)
)
)
)
) ;endif
)
)
;------------------------------------------------------
;// Procedure to install the iffparse library
(procedure @InstallParse
(
(if (exists (cat #LibsDefault ":iffparse.library"))
(
(delete (cat #LibsDefault ":iffparse.library")
(optional "force")
)
)
)
(copyfiles
(source #LibsSource)
(dest (cat #LibsDefault ":"))
(pattern "iffparse.library")
(optional "force")
)
)
)
;------------------------------------------------------
;// Check that diskfont library is at least v36 (if not replace)
(procedure @CheckDiskFont
(
(set DFVerNum (getversion (cat #LibsDefault ":diskfont.library")))
(set DFVer (/ DFVerNum 65536))
(if (< DFVer 36)
(
(if (= @user-level 2)
(
(set InstallDiskFontLibrary
(askbool
(prompt #OldDiskFontLibraryMsg)
(choices #InstallChoice1 #InstallChoice2)
(help #OldDiskFontLibraryHelp)
(default 1)
)
)
(if (= InstallDiskFontLibrary 1)
(
(@InstallDiskFont)
)
) ;end if
)
(
(@InstallDiskFont)
)
) ;end if
)
) ;endif
)
)
;------------------------------------------------------
;// Procedure to install diskfont library
(procedure @InstallDiskFont
(
(set #UnpackFile (cat #ArchiveLocation #DiskfontArchiveName))
(set #UnpackDest #LibsDest)
(if (exists (cat #UnpackDest "diskfont.library"))
(delete (cat #UnpackDest "diskfont.library")
(optional "force")
)
)
(@UnpackFiles)
)
)
;------------------------------------------------------
;** Check that AmigaGuide library is at least version 34.11 (if not replace)
(procedure @CheckAmigaGuide
(
(set AGVerNum (getversion (cat #LibsDefault ":amigaguide.library")))
(set AGVer (/ AGVerNum 65536))
(set AGRev (- AGVerNum (* AGVer 65536)))
(if (< AGVer 35)
(
(if (< AGRev 11)
(
(if (= @user-level 2)
(
(set InstallAmigaGuideLibrary
(askbool
(prompt #OldAmigaGuideLibraryMsg)
(choices #InstallChoice1 #InstallChoice2)
(help #OldAmigaGuideLibraryHelp)
(default 1)
)
)
(if (= InstallAmigaGuideLibrary 1)
(
(@InstallAmigaGuide)
)
);end if
)
(
(@InstallAmigaGuide)
)
) ;end if (user-level)
)
) ;end if (revision)
)
) ;end if (version)
)
)
;------------------------------------------------------
;// Procedure to install amigaguide library
(procedure @InstallAmigaGuide
(
(set #UnpackFile (cat #ArchiveLocation #AmigaGuideArchiveName))
(set #UnpackDest #LibsDest)
(if (exists (cat #UnpackDest "amigaguide.library"))
(delete (cat #UnpackDest "amigaguide.library")
(optional "force")
)
)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Check that commodities library is at least v37 (if not replace)
(procedure @CheckCommodities
(
(set CommoditiesVerNum (getversion (cat #LibsDefault ":commodities.library")))
(set CommoditiesVer (/ CommoditiesVerNum 65536))
(if (< CommoditiesVer 37)
(
(if (= @user-level 2)
(
(set InstallCommoditiesLibrary
(askbool
(prompt #OldCommoditiesLibraryMsg)
(choices #InstallChoice1 #InstallChoice2)
(help #OldCommoditiesLibraryHelp)
(default 1)
)
)
(if (= InstallCommoditiesLibrary 1)
(
(@InstallCommodities)
)
)
)
(
(@InstallCommodities)
)
)
)
) ;endif
)
)
;------------------------------------------------------
;// Procedure to install the commodities library
(procedure @InstallCommodities
(
(set #UnpackFile (cat #ArchiveLocation #CommoditiesArchiveName))
(set #UnpackDest #LibsDest)
(if (exists (cat #UnpackDest "commodities.library"))
(delete (cat #UnpackDest "commodities.library")
(optional "force")
)
)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Procedure to de-archive screen fonts
(procedure @DearchiveScreenFonts
(
(set #UnpackFile (cat #ArchiveLocation #SystemFontsArchiveName))
(set #UnpackDest #SystemFontsDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Procedure to de-archive Env-Archive files
(procedure @DearchiveEnv-Archive
(
(set #UnpackFile (cat #ArchiveLocation #Env-ArchiveArchiveName))
(set #UnpackDest #Env-ArchiveDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Procedure to de-archive Env files
(procedure @DearchiveEnv
(
(set #UnpackFile (cat #ArchiveLocation #Env-ArchiveArchiveName))
(set #UnpackDest "ENV:")
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Choose hard disk destination for Organiser drawer
(procedure @ChooseHDDest
(
;** Find default drawer
(set #DefaultDest (getassign "Work" "d"))
(if (= #DefaultDest "")
(
(set #DefaultDest (getassign "HD3" "d"))
(if (= #DefaultDest "")
(
(set #DefaultDest (getassign "HD2" "d"))
(if (= #DefaultDest "")
(
(set #DefaultDest (getassign "HD1" "d"))
(if (= #DefaultDest "")
(
(set #DefaultDest (getassign "DH1" "d"))
(if (= #DefaultDest "")
(
(set #DefaultDest (getassign "HD0" "d"))
(if (= #DefaultDest "")
(
(set #DefaultDest "DH0:")
(if (= #UserNovice 1)
(user 2)
)
)
)
)
)
)
)
)
)
)
)
)
)
;** Ask for destination
(set #DestDrawer
(askdir
(prompt #HardDiskDestChoiceMsg)
(help #HardDiskDestChoiceHelp)
(default #DefaultDest)
)
)
(if (= #UserNovice 1)
(user 0)
)
)
)
;------------------------------------------------------
;// Find HD Destination and check enough space
(procedure @FindHDDest
(
(set OrgExists 0)
(while (= OrgExists 0)
(
(@ChooseHDDest)
(while (< (getdiskspace #DestDrawer) #HDSpaceNeededBytes)
(
(if (< (getdiskspace #DestDrawer) #HDSpaceNeededBytes)
(
(if (= @user-level 0)
(
(user 2)
(set #UserNovice 1)
)
)
(message #NoDiskSpaceMsg1 (/ (/ #HDSpaceNeededBytes 1024) 1024) #NoDiskSpaceMsg2)
(@ChooseHDDest)
)
)
)
) ;end while
(@CheckExistsAlready)
)
);end while
(if (= #UserNovice 1)
(user 0)
)
)
)
;------------------------------------------------------
;// Procedure to check if Organiser exists already in destination
;// Replace or choose again if so
(procedure @CheckExistsAlready
(
(if (exists (tackon #DestDrawer #DrawerName))
(
(set ChooseAgainAnswer
(askbool
(prompt #DrawerExistsMsg)
(choices #DrawerExistsChoice1 #DrawerExistsChoice2)
(help #DrawerExistsHelp)
(default 1)
)
)
(if (= ChooseAgainAnswer 0)
(
(set OrgExists 0)
)
(
(set OrgExists 1)
)
)
)
(;else
(set OrgExists 1)
)
);endif
)
)
;------------------------------------------------------
;// Create Organiser drawers in chosen destination
(procedure @CreateDrawers
(
(working #WorkingMsg)
(set #InsideHDDest (tackon #DestDrawer #DrawerName))
;// Make the Organiser drawer
(makedir #InsideHDDest (infos))
;// Make the Supplements Storage drawer
(set #HDSuppStorageDest (tackon #InsideHDDest #SuppStorageName))
(makedir #HDSuppStorageDest (infos))
;// Make the Supplements drawer
(set #HDSupplementsDest (tackon #InsideHDDest #SupplementsName))
(makedir #HDSupplementsDest (infos))
;// Make the Files drawer
(set #HDFilesDest (tackon #InsideHDDest #FilesName))
(makedir #HDFilesDest)
;// Make the Themes drawer
(set #HDThemesDest (tackon #InsideHDDest #ThemesName))
(makedir #HDThemesDest (infos))
;// Make the Samples drawer
(set #HDSamplesDest (tackon #InsideHDDest #SamplesName))
(makedir #HDSamplesDest (infos))
;// Make the Templates drawer
(set #HDTemplatesDest (tackon #InsideHDDest #TemplatesName))
(makedir #HDTemplatesDest (infos))
)
)
;------------------------------------------------------
;// set up hard drive destinations
(procedure @SetUpHDProgDests
(
(working #WorkingMsg)
(set #LibsDest (cat #LibsDefault ":"))
(set #ProgDest (cat #InsideHDDest "/"))
(set #SupplementsDest (cat #HDSupplementsDest "/"))
(set #SuppStorageDest (cat #HDSuppStorageDest "/"))
(set #FilesDest (cat #HDFilesDest "/"))
(set #ThemesDest (cat #HDThemesDest "/"))
(set #TemplatesDest (cat #HDTemplatesDest "/"))
(set #SystemFontsDest "Fonts:")
(set #Env-ArchiveDest "Sys:Prefs/Env-Archive/")
(set #SamplesDest (cat #HDSamplesDest "/"))
(set #HelpDest (cat #HDFilesDest "/"))
)
)
;------------------------------------------------------
;// Install program files
(procedure @InstallProg
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #ProgArchiveName))
(set #UnpackDest #ProgDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Install Help files
(procedure @InstallHelp
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #HelpArchiveName))
(set #UnpackDest #HelpDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Install Supplements Storage
(procedure @InstallSuppStorage
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #SuppStorageArchiveName))
(set #UnpackDest #SuppStorageDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Install Themes
(procedure @InstallThemes
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #ThemesArchiveName))
(set #UnpackDest #ThemesDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Install Templates
(procedure @InstallTemplates
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #TemplatesArchiveName))
(set #UnpackDest #TemplatesDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Install Files
(procedure @InstallFiles
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #FilesArchiveName))
(set #UnpackDest #FilesDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Install Supplements
(procedure @InstallSupplements
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #SupplementsArchiveName))
(set #UnpackDest #SupplementsDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Install Harp sample
(procedure @InstallHarp
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #HarpArchiveName))
(set #UnpackDest #SamplesDest)
(@UnpackFiles)
)
)
;------------------------------------------------------
;// Routine to install printer and fonts
(procedure @AddNewPrinter
(
(set #FileSourceDisk #InstallDisk)
;// Delete all in OrgTemp: first...
(run (cat "ram:delete OrgTemp:#?" ) (safe))
(set #ChosenDriver "Generic")
(set #DriverSource (cat #InstallDisk ":Drivers"))
(if (= #DestinationType "Floppy")
(
(set #DriverDest (cat #MainDisk ":Devs/Printers"))
)
(
(set #DriverDest "DEVS:Printers")
(set #CheckGeneric (cat #DriverDest "/" #ChosenDriver))
(if (exists #CheckGeneric)
(
(protect #CheckGeneric "+r+w+e+d")
)
)
)
)
;// Select printer (or driver) from list...
(working #WorkingMsg)
(set #SelectPrt
(cat "OrgUtils:select OrgUtils:OrgPrinterList")
)
(run #SelectPrt (safe))
(set #ChosenDriver (getenv "wwDriver"))
(working #WorkingMsg)
;// driver chosen so copy it to ram...
(copyfiles
(source #DriverSource)
(dest #RamTempFile)
(pattern #ChosenDriver)
(optional "force")
(nogauge)
)
;// Now decompress Driver 'ChosenDriver' to destination '#RamTempFile'...
(set #UnpackFile (tackon #RamTempFile #ChosenDriver))
(set #UnpackDest "OrgTemp:")
(@UnpackFiles)
(delete #UnpackFile)
;// get full uncompressed driver name...
(run "c:List " #RamTempFile " LFORMAT %s >ENV:wwDriver")
(set Driver (getenv "wwDriver"))
(set DriverLen (strlen Driver))
(set DriverLen (- DriverLen 1))
(set #ChosenDriver
(substr Driver 0 DriverLen)
)
;// finally, copy driver to driver destination...
(if (= #DestinationType "Floppy")
(
(set #FileSourceDisk #MainDisk)
(@GetDisk)
)
)
(copyfiles
(source #RamTempFile)
(dest #DriverDest)
(pattern #ChosenDriver)
(optional "force")
)
)
)
;------------------------------------------------------
;// Delete any files from Ram and temporary Ram Drawer
(procedure @CleanUp
(
(working #WorkingMsg)
(makeassign "OrgTemp" (safe))
(if (exists #RamTempFile)
(
(set DeleteDrawer (cat "ram:delete " #RamTempFile " all force"))
(Run DeleteDrawer)
)
)
(makeassign "OrgUtils" (safe))
(if (exists #RamUtils)
(
(set DeleteDrawer (cat "ram:delete " #RamUtils " all force"))
(Run DeleteDrawer)
)
)
(delete "Ram:delete"
(optional "force")
)
)
)
;------------------------------------------------------
; ### Main
(complete 0)
(welcome)
(complete 5)
(run "assign OrganiserInstall: \"\"")
(@InitialChecks) ;// Copies relevent files to ram also
(complete 10)
(set #DestinationType "Hard")
(if (= #DestinationType "Hard")
(
;// HD
; Install to Hard-disk
(if (= #FullPath (cat #InstallDisk ":"))
(Abort #HDBootedFromFloppy)
)
(set #ArchiveLocation (cat #InstallDisk ":Archive/"))
(set #FileSourceDisk #InstallDisk)
(@SetUpHDProgDests)
;## if on Hard disk see if there's a Locale:Countries drawer
(if (not (exists "Sys:Locale"))
(
(makedir "Sys:Locale" (infos))
(startup #ProgName
(prompt #AskLocaleMsg)
(help #AskLocaleHelp)
(command #AskLocaleCmd)
)
(run ("Assign LOCALE: SYS:Locale")) ; Set Assign now
(copyfiles
(source (cat #InstallName ":Locale"))
(dest "Sys:Locale/")
(all)
(optional "force")
)
)
)
(@CheckASL)
(@CheckCommodities)
(@CheckLocale)
(@CheckParse)
(@CheckDiskFont)
(@CheckAmigaGuide)
(@FindHDDest)
(@CreateDrawers)
(@SetUpHDProgDests)
(set @default-dest #DestDrawer)
(complete 20)
(@DearchiveScreenFonts)
(@DearchiveEnv-Archive)
(@DearchiveEnv)
(complete 30)
(@InstallProg)
(complete 40)
(@InstallSupplements)
(if (not (exists "Sys:Prefs/Sound"))
(
(working #WorkingMsg)
(set #UnpackFile (cat #ArchiveLocation #SoundArchiveName))
(set #UnpackDest "Sys:Prefs/")
(@UnpackFiles)
)
)
(complete 50)
(@InstallSuppStorage)
(complete 60)
(@InstallThemes)
(if (not (exists (cat #SamplesDest "Harp")))
(
(@InstallHarp)
)
)
(complete 70)
(@InstallFiles)
(@InstallTemplates)
(@InstallHelp)
(set #UnpackFile (cat #ArchiveLocation #DrawerInfoArchiveName))
(set #UnpackDest (cat #ProgDest "/"))
(@UnpackFiles)
(set #UnpackFile (cat #ArchiveLocation #HDInfoArchiveName))
(set #UnpackDest #ProgDest)
(@UnpackFiles)
(set #UnpackFile (cat #ArchiveLocation #ProgramInfoArchiveName))
(set #UnpackDest #ProgDest)
(@UnpackFiles)
(
;set default tool type for all Themed Diaries
(foreach #ThemesDest "#?"
(
(tooltype
(dest (cat #ThemesDest @each-name))
(setdefaulttool (cat #ProgDest #ThemeDefaultTool))
)
)
)
)
(complete 80)
)
)
(complete 90)
(set #InstallPrinter 1)
(if (>= @user-level 1) ; Intermediate or Expert only
(
(set #InstallPrinter
(askbool
(prompt #PrinterChoicePrompt)
(choices #PrinterChoicemsg1 #PrinterChoicemsg2)
(help #PrinterChoice-help)
(default 0)
)
)
)
)
(if (= #InstallPrinter 1)
(
(@AddNewPrinter)
)
)
(@CleanUp)
(complete 100)
(exit)